perm filename FAKE15.SAI[DOC,TOB] blob
sn#234925 filedate 1976-08-31 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00004 00003 WHILE TRUE DO BEGIN "ERR_BLOCK"
C00006 ENDMK
C⊗;
comment
this version of fake finds the angular and position
errors for the edge operator as a function of step height,
position, and angle;
comment
conf=sqrt(s0sq/(s0sq+n0sq)) ie cosine
diff=s0sq;
BEGIN "EDGE_TEST"
DEFINE SAFE_ARRAY=1; comment this makes all arrays safe;
REQUIRE "VISION.2[SYS,TOB]" SOURCE_FILE; comment vision language package;
REQUIRE EDGE_FILE;
REQUIRE EDGE_PRINT;
REQUIRE TV_VARIABLES;
REQUIRE FAKE_FILE; ! file for fake edges;
REQUIRE STATISTICS_FILE; ! file for mean and standard deviation;
EJINIT; ! init Hueckel operator;
MODIFY(BITS);
WHILE YES("TEST EDGE OPERATOR? ") DO BEGIN "TST_LOOP"
REAL ALPHA,DELTA;
ASK_FAKE;
FAKE;
OP_APPLY(NBHD_FAKE/2,NBHD_FAKE/2); ! try the edge operator on it;
ERROR_FAKE(ALPHA,DELTA); ! get angle and perpend distance errors;
TCRLF;PRINT(ALPHA);PRINT(DELTA);
TCRLF;PRINT(THETA_FAKE);PRINT(RHO_FAKE);
END "TST_LOOP";
WHILE TRUE DO BEGIN "ERR_BLOCK"
INTEGER K;
INTEGER ENOUGH;
ENOUGH←2000;
MODIFY(ENOUGH);
ASK_FAKE;
NOISE_EDGE←NOISE_FAKE;
ASK_EDGE; ! ask for values for edge operator cutoffs;
BEGIN "ERR_A"
REAL_ARRAY VALUE[1:2];
REAL_ARRAY MEAN[1:2];
REAL_ARRAY STD_DEV[1:2];
DEFINE α=1;
DEFINE β=2;
SIMPLE PROCEDURE VAL;
comment funarg called by NRMS_STAT;
WHILE TRUE DO BEGIN
FAKE;
IF EJLI(NBHD_FAKE/2,NBHD_FAKE/2,0,0)∧¬BCOMP THEN BEGIN
ERROR_FAKE(VALUE[α],VALUE[β]);
RETURN;
END;
END;
NRMS_STAT(VALUE,MEAN,STD_DEV,VAL,ENOUGH,50);
comment obtain mean and std deviations for variables in arrays
2 variables, ENOUGH samples, report every 50 samples;
OUTSTR(CRLF&"MEAN AND STANDARD DEVIATION---ALPHA & DELTA "&CRLF);
OUTSTR(CVG(MEAN[α]));OUTSTR(CVG(STD_DEV[α])&CRLF);
OUTSTR(CVG(MEAN[β]));OUTSTR(CVG(STD_DEV[β])&CRLF);
END "ERR_A";
END "ERR_BLOCK";
END "EDGE_TEST";